In computer system design and programming, a “thread” or “thread of execution” is a sequence of instructions being executed by a processor. Many computer systems are configured to execute multiple threads concurrently. Each thread may access and/or modify a data structure running in the memory of the computer system. Data structures that can be accessed and/or modified by multiple threads concurrently may be referred to as concurrent data structures.
A concurrent set of objects is an example of a concurrent data structure. A concurrent set of objects may be considered a collection of objects within a computer program. There are at least three basic operations that may be performed by a thread on a set of objects: an inserting operation, which adds an object to the set; a removal operation, which removes an object from the set; and, a membership test operation, which determines whether an object belongs to the set.